package com.kefu.service;

import com.kefu.dto.MessageDTO;
import com.kefu.dto.SessionDTO;
import java.util.List;
import java.util.Map;

public interface SessionService {
    // 用户创建会话
    SessionDTO createSession(String userId);

    // 获取用户会话列表
    List<SessionDTO> getUserSessions(String userId);

    // 获取客服会话列表
    List<SessionDTO> getSessionsByAdminId(String adminId);

    // 发送消息
    MessageDTO sendMessage(String sessionId, String senderId, int senderType, String content, int messageType);

    // 获取会话消息
    Map<String, Object> getSessionMessages(String sessionId, String userId);

    // 标记消息为已读
    boolean markMessagesAsRead(String sessionId, String adminId);

    // 结束会话
    boolean endSession(String sessionId, String operatorId, int operatorType);

    List<SessionDTO> getAllUnreadSessions();
    SessionDTO bindSessionToAdmin(String sessionId, String adminId);

}
